package com.opesoft.fw.mvc.impl;

import java.io.Serializable;
import java.util.HashMap;
import java.util.Map;

import com.opesoft.fw.mvc.Token;

/**
 * 一个标准的令牌的实现
 * 
 * @author larlf
 * 
 */
public class StandardToken implements Token,Serializable
{
	public Map<String, Boolean> tokens=new HashMap<String, Boolean>(); // 用于存放令牌的状态

	long count=0; // 用于生成Token的编号

	/**
	 * 创建令牌
	 */
	synchronized public String create()
	{
		String value;

		count++;
		value="token-"+count;
		tokens.put(value,true);

		return value;
	}

	/**
	 * 验证Token
	 */
	synchronized public boolean verify(String token)
	{
		boolean value;

		if(tokens.get(token)!=null) value=true;
		else value=false;

		this.tokens.remove(token);

		return value;
	}

}
